1. Field of the Invention
The present invention relates to a technique of receiving information about a program.
2. Description of the Related Art
It is recently a common practice to impart an EPG (Electronic Program Guide) function to a PDR (Personal Digital Recorder) such as a TV set or HDD recorder. To use an EPG, program information transmitted by radio broadcast is received, or program information is received via the Internet. The form of transmitting program information by radio broadcast is roughly classified into two types. One form uses analog broadcasting, and the other form uses digital broadcasting.
An EPG sent using digital broadcasting will be described. Digital broadcasting uses MPEG2-TS (Transport Stream) as a protocol independent of the transmission scheme. In MPEG2-TS, program data such as PSI (Program Specific Information) and SI (Service Information) are multiplexed, in addition to video data and audio data. The PSI contains contents to be transmitted by the TS and control information such as information to decode information contained in the contents and information for scrambling. The SI is an extended information group containing transmission control signals not including the PSI. The ARIB—(Association of Radio Industries and Business) that has standardized digital broadcasting in Japan defines various kinds of information contained in SI.
To generate an EPG, an EIT (Event Information Table) contained in SI is mainly used. An EIT describes items of information about a program such as a program title, broadcast date/time, program length, cast, and explanation of program contents in correspondence with predetermined descriptors.
Terrestrial digital broadcasting defines that all receivable broadcasters are selected, and PSI/SI is acquired and stored even while the receiver has been powered off. That is, to generate the EPG information of all receivable broadcasters, it is necessary to control the tuner and receive a radio broadcast from each broadcaster. A time of about 1 minute is required for acquiring PSI/SI of seven days, which is periodically transmitted from one broadcaster. If there 10 channels as EPG generation targets, a time of about 10 minutes is required for acquiring the PSI/SI of all channels.
In a conventionally employed program data acquisition method, a control unit for controlling a tuner controls a tuner on the basis of an instruction from a program table control unit, thereby acquiring broadcast data corresponding to a designated broadcaster. Program data is extracted by demultiplexing the broadcast data received by the tuner. The extracted program data is saved in an arbitrary memory area.
A tuner use determination unit for determining the usage state of the tuner is provided. The tuner use determination unit determines whether the user is executing the broadcast receiving function, or there is a program to be recorded or watched in the time required for acquiring predetermined program data. This determination process is executed to determine whether the tuner is usable for the program data acquisition process.
FIG. 7 is a flowchart illustrating the conventional program data acquisition process. An arbitrary control unit for performing program data acquisition executes the process according to the flowchart in FIG. 7.
In step S1101, it is determined whether a predetermined period has elapsed from the date/time of the previous program data acquisition. If it is determined that the predetermined period has elapsed, the process advances to step S1102. If it is determined that the predetermined period has not elapsed, the process is terminated.
When the predetermined period has elapsed, several channels do not have all program data in a predetermined range (e.g., seven days from the current time). In step S1102, an unacquired broadcaster list indicating channels which have not acquired all program data in the predetermined range is created. The unacquired broadcaster list is list data that associates an arbitrarily determined acquisition order with broadcasters (channels).
In step S1103, it is determined whether the tuner is usable for program data acquisition. If it is determined that the tuner is usable, the process advances to step S1104. If the tuner is unusable, the process advances to step S1109. For example, if it is impossible to freely control the tuner because the user is watching a program, the process advances to step S1109. On the other hand, if it is determined that the tuner can freely be controlled in a predetermined period, the process advances to step S1104.
In step S1104, the tuner is controlled to select a broadcaster (channel) described in the unacquired broadcaster list created in step S1102. The list defines a channel selection order based on an arbitrary condition. Hence, channel selection is done from the broadcaster (channel) with the highest priority.
In step S1105, program data is acquired from the broadcast data of the selected channel and saved in an arbitrary memory area, as described above. In step S1106, it is determined whether all program data have been received from the selected channel. If all program data have not been received, the process returns to step S1105 to continue the process in step S1105. If all program data have been received, the process advances to step S1107.
In step S1107, the broadcaster whose program data are completely acquired is excluded from the unacquired broadcaster list. In step S1108, it is determined by referring to the unacquired broadcaster list whether a broadcaster whose program data is unacquired exists. If it is determined that such a broadcaster does not exist, the process is terminated. If such a broadcaster exists, the process returns to step S1104 to execute the subsequent process for the broadcaster whose program data is unacquired.
If it is determined in the determination process in step S1103 that the tuner cannot freely be controlled, the process advances to step S1109, as described above. The state wherein the tuner is unusable indicates that the tuner is currently being used, or the tuner is to be used in a predetermined period. In step S1109, it is determined whether the broadcaster (channel) to be selected by the tuner that is currently being used or is to be used after a predetermined period has elapsed is described in the unacquired broadcaster list.
If it is determined that the broadcaster (channel) is not described, the process is terminated. If the broadcaster (channel) is described, the process advances to step S1110. In step S1110, program data is acquired from the broadcast data of the broadcaster (channel) to be selected by the tuner that is currently being used or is to be used after the elapse of a predetermined period, and saved in an arbitrary memory area, as in step S1105.
In step S1111, it is determined whether all program data have been received from the currently selected channel. If all program data have not been received, the process returns to step S1110 to continue the process in step S1110. If all program data have been received, the process advances to step S1112. In step S1112, the currently selected broadcaster is excluded from the unacquired broadcaster list.
It is determined next whether the user has executed the channel selection operation. If the user has not executed the operation, the process is terminated. If the user has executed the operation, the process returns to step S1109 to execute the subsequent process for the channel selected by the user.
As described above, in the conventional program data acquisition process, it is determined by using, for example, a list whether the program data of all receivable channels in a predetermined range has been acquired. As described above, when the user starts using the tuner, PSI/SI acquisition is interrupted. This inhibits efficient program information acquisition. It is therefore impossible to quickly generate and present an EPG screen for the user.
To solve these problems, for example, Japanese Patent Laid-Open No. 2005-051615 is disclosed. Japanese Patent Laid-Open No. 2005-051615 discloses a receiver which records and manages, in a program information acquisition time table, the acquisition time information of program information acquired for each segment.
A segment is a unit for dividing one day into predetermined time periods. For example, when one segment corresponds to 3 hours, one day (24 hours) can be defined by 8 segments. This receiver creates a channel selection priority order table at the time of automatic program information acquisition after power off by referring to the program information acquisition time table and determining the necessity of channel selection or channel selection priority order. A program information acquisition unit selects a channel in accordance with the information of the created channel selection priority order table and acquires program information. That is, the receiver disclosed in Japanese Patent Laid-Open No. 2005-051615 stores a segment whose program information is unacquired. As soon as the acquisition is ended, another channel is selected, thereby acquiring program information in a short time.
In Japanese Patent Laid-Open No. 2005-051615 described above, unacquired segments of program information transmitted from a plurality of broadcasters are stored so that only necessary segments are acquired. In this manner, the time can be shortened. In using this method, however, after the segment of one broadcaster is acquired, the next broadcaster is selected. For this reason, the time required until acquisition of a target segment is not always shortened.
The channel selection priority order for program information acquisition is determined by giving the highest priority to acquisition of program information close to the current time. However, the desired program information has not always been transmitted at the time of channel selection. As a result, the time required for acquiring all items of necessary program information may not be shortened.